#ifndef MOLSURFACECONTROL_H
#define MOLSURFACECONTROL_H

#include <QDialog>
#include "ui_molsurfacecontrol.h"
#include "molsurfaceplugin.h"

namespace PBVP {
	class ProteinDataNode;
	///
	class MolSurfaceControl : public QDialog
	{
		Q_OBJECT

	public:
		///
		MolSurfaceControl(MolSurfacePlugin *pSurfPlugin, QWidget *parent = 0);
		///
		~MolSurfaceControl();

		MolSurfacePlugin::SurfaceMode getSurfMode() const {
			if(ui.chainButton->isChecked()) {
				return MolSurfacePlugin::MOL_CHAIN;
			} else if(ui.ligandButton->isChecked()) {
				return MolSurfacePlugin::MOL_LIGAND;
			}
			return MolSurfacePlugin::MOL_PROTEIN;
		}
		/// 
		int getChainId() const {
			return ui.chainBox->currentIndex();
		}
		/// 
		int getLigandId()const {
			return ui.ligandBox->currentIndex();
		}
		/// 
		void initialize(ProteinDataNode *pProteinNode);

	public slots:
		void changeSurfMode();

	private:
		Ui::MolSurfaceControlClass ui;
		MolSurfacePlugin::SurfaceMode m_SurfMode;

		MolSurfacePlugin *m_pSurfPlugin;
	};
}
#endif // MOLSURFACECONTROL_H
